using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using DevExpress.XtraGrid;
using Барс;
using Барс.Ядро;
using Барс.Интерфейс;
namespace Аккорд
{
	public partial class ФормаРедактированияКлиента
	{
		#region Обработчик события ПунктМеню_Удалить_Нажатие (7fde2ae6-6238-4a2c-94cc-1dc8aa38453f)
		private void ПунктМеню_Удалить_Нажатие( object Отправитель, АргументыСобытия Аргументы )
		{
            if ((ТекущийКонтакт != null) && (Сообщение.ПоказатьВопрос("Удалить контакт ?") == Барс.Интерфейс.РезультатДиалога.Да))
            {
                Клиент.Контакты.УдалитьЭлемент(ТекущийКонтакт);
                Клиент.Контакты.Remove(ТекущийКонтакт);
                таблица.Обновить();
            }
		}
		#endregion
		#region Обработчик события ПунктМеню_Редактировать_Нажатие (90c29c89-b4c0-4b9e-876a-f67038b72cca)
		private void ПунктМеню_Редактировать_Нажатие( object Отправитель, АргументыСобытия Аргументы )
		{
            if (ТекущийКонтакт != null)
            {
                ФормаРедактированияКонтакта форма = new ФормаРедактированияКонтакта();
                форма.РедактируемыйОбъект = ТекущийКонтакт.Контакт;
                if (форма.ПоказатьДиалог() == Барс.Интерфейс.РезультатДиалога.OK)
                {
                    таблица.Обновить();
                }
            }			
		}
		#endregion
		
		#region Обработчик события ПунктМеню_Добавить_Нажатие (115acc40-3fbe-406e-885f-d6ea1f0e80db)
		private void ПунктМеню_Добавить_Нажатие( object Отправитель, АргументыСобытия Аргументы )
		{
			КонтактКлиента контакт = new КонтактКлиента();
			контакт.Клиент = this.Клиент;
            контакт.Контакт = new Контакт();
			
			ФормаРедактированияКонтакта форма = new ФормаРедактированияКонтакта();
			форма.РедактируемыйОбъект = контакт.Контакт;
			
			if( форма.ПоказатьДиалог() == Барс.Интерфейс.РезультатДиалога.OK )
			{
				Клиент.Контакты.Добавить(контакт);
				таблица.Обновить();
			}
			
		}
		#endregion
		#region Обработчик события кнопка_OK_Нажатие (c53bdff7-7833-426e-8d2f-fbb405b6cae6)
		private void кнопка_OK_Нажатие( object Отправитель, АргументыСобытия Аргументы )
		{
            for (int индекс = 0; индекс < СписокЗаголовковКатегорий.Length; индекс++ )
            {
                if (СписокЗаголовковКатегорий[индекс] == выпадающийСписок1.ВыбранныйОбъект.ToString())
                {
                    Клиент.Категория = (КатегорияКлиента) индекс;
                    break;
                }
            }

            foreach (КонтактКлиента контакт in Клиент.Контакты)
            {
                if (!контакт.ПомеченКУдалению)
                {
                    контакт.Контакт.Заблокировать();
                    контакт.Заблокировать();
                    контакт.Контакт.Сохранить();
                    контакт.Сохранить();
                    контакт.Контакт.СнятьБлокировку();
                    контакт.СнятьБлокировку();
                }
                else
                {
                    контакт.Контакт.Удалить();
                    контакт.Удалить();
                }
            }

		    Клиент.Заблокировать();
			Клиент.Сохранить();
		    Клиент.СнятьБлокировку();
		}
		#endregion
		#region Обработчик события ФормаРедактированияКлиента_Открытие (62a63345-7c12-40a5-adcb-28765a20cc7c)
		private void ФормаРедактированияКлиента_Открытие( object Отправитель, АргументыСобытия Аргументы )
		{
		    выпадающийСписок1.ИсточникЗаписей = СписокЗаголовковКатегорий;
		    foreach(string значение in СписокЗначенийКатегорий)
		    {
		        if (значение == Клиент.Категория.ToString())
		        {
		            выпадающийСписок1.EditValue = Утилиты.РазделитьСтроку(значение);
                    break;
		        }
		    }

            выпадающийСписок1.Update();

			таблица.ИсточникЗаписей = Клиент.Контакты;
			таблица.Обновить();
		}

		#endregion
		
	}
}